#include <2025Linux.h>
int main(int argc, char *argv[])
{
    int fds1[2]; //1号 父发消息给孩子
    int fds2[2]; //2号 孩子发消息给父亲
    pipe(fds1);
    pipe(fds2);
    if(fork()){//父进程
        close(fds1[0]);//关闭父亲的1号的读端
        close(fds2[1]);//关闭父亲的2号的写端
        // 父 ---> 子
        write(fds1[1],"hello",5);
        // 子 ---> 父
        char buf[4096] = {0};
        read(fds2[0],buf,sizeof(buf));
        printf("parent buf = %s\n", buf);
    }
    else{
        //子进程
        close(fds1[1]);//关闭孩子的1号的写端
        close(fds2[0]);//关闭孩子的2号的读端
        // 父 --> 子
        char buf[4096] = {0};
        read(fds1[0],buf,sizeof(buf));
        printf("child buf = %s\n", buf);
        // 子 --> 父
        write(fds2[1],"world",5);
    }
    return 0;
}

